Skip to main content

Exemple CNC 09 : Utilisation de la correction de longueur d'outil

Voir l'exemple de projet pour cela CNC09_ToolLengthCorr.project dans le répertoire d'installation de CODESYS parmi ..\CODESYS SoftMotion\Examples.

Cet exemple montre comment utiliser le SMC_ToolLengthCorr POU pour compenser la longueur d'un outil.

Pour plus d'informations sur le sujet de la correction de longueur d'outil, voir : Prétraitement

Application

Pour l'exemple, une cinématique Gantry3 est utilisée avec un axe d'orientation ajouté (AxisA) qui peut tourner autour de l'axe Z. Un outil d'une longueur de 2 unités dans la direction Z est à son tour attaché à l'axe d'orientation.

Un programme CNC simple doit être exécuté. Ceci est stocké dans le projet en tant que fichier externe CNC.cnc fichier et peut être ouvert avec un éditeur de texte. Dans le programme CNC, la correction de longueur d'outil est d'abord activée au moyen du code G G43. La I, J, et K correspondent au décalage dans les directions X, Y et Z pour cela. Ensuite, trois points sont parcourus dans le plan XY. Pendant le déplacement vers le dernier point, l'axe supplémentaire A est également tourné de 90 degrés.

N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2)
N010 G01 X10 F10 E100 E-100
N020 G03 Y10 R5N030 G01 X0 A90

L'application se compose de plusieurs parties. Dans le CNC_PreparePath programme, le programme CNC CNC.cnc est importé sous forme de fichier depuis le contrôleur et prétraité. Dans le CNC programme, les entraînements sont d'abord mis sous tension, comme dans les autres exemples. Ensuite, l'interpolation du programme CNC lu précédemment est effectuée. Dans chaque cycle, l'interpolateur délivre une position définie (piSetPosition) et le décalage actuel de l'outil (adToolLength). La SMC_ToolLengthCorr Le POU a besoin de ces informations pour compenser la longueur d'outil spécifiée. La position compensée est ensuite transformée et finalement transmise aux axes au moyen de la SMC_ControlAxisByPos POU.

Astuce

Le programme est presque identique aux autres exemples. Seulement le SMC_ToolLengthCorr Le POU a été inséré après l'interpolateur et avant la transformation afin de traiter la sortie de position définie par l'interpolateur.

sm_img_cnc_example9_1.png

Mise en service

Compilez et démarrez le programme créé. Le programme exécute le mouvement CNC dès que le CNC_PreparePath.xStart l'entrée a été définie. Vous pouvez cliquer sur le Commencer pour définir cette variable dans l'application ou dans la visualisation. Après l'exécution complète du programme, vous pouvez appliquer un nouveau front montant pour le redémarrer.

Pendant l'exécution du programme CNC, notez les sorties de l'interpolateur (piSetPosition, adToolLength) et la position compensée (piOut) de la SMC_ToolLengthCorr PU.

Remarque : La rotation de AxisA pendant le dernier mouvement du programme CNC n'a aucun effet (supplémentaire) sur la position cartésienne compensée dans cet exemple car l'outil n'a qu'un décalage dans la direction Z. Si vous ajoutez un composant au décalage de l'outil (dans le fichier CNC, sur le contrôleur dans le dossier de l'application) dans les directions X et Y, alors la rotation de AxisA lors du dernier mouvement aura un effet supplémentaire sur la position compensée.